//
//  UIImage+Extension.swift
//  1-照片选择器框架
//
//  Created by yellow on 15/10/28.
//  Copyright © 2015年 yellow. All rights reserved.
//

import UIKit

extension UIImage{
    
    /// 根据给定的宽度进行等比缩放
    ///
    /// - parameter width: 缩放后的宽度
    ///
    /// - returns: 缩放后的UIImage
    func scaleToWidth(width:CGFloat) ->UIImage{
        
        if width > size.width {
            //如果给定宽度大于图片自身的宽度，就返回图片本身
            return self
        }
        
        //计算等比缩放后的高度
        let height = size.height*width/size.width
        let rect = CGRectMake(0, 0, width, height)
        
        //使用核心绘图
        //开启bitmap上下文,(大小，是否隐藏，放大倍数，0就会根据设备进行自动改变)
        UIGraphicsBeginImageContextWithOptions(rect.size, false, 0)
        
        //绘制指定矩形
        self.drawInRect(rect)
        
        //取得结果图片
        let currentImage = UIGraphicsGetImageFromCurrentImageContext()
        
        //关闭核心绘图上下文
        UIGraphicsEndImageContext()
        
        return currentImage
    }
}
